package bigbeard.tools.net.api.server;
/**
 * @author bigbeard on 2022-09-29
 */
public interface IConnector {
    /**
     * 一对一
     *
     * @param message 消息
     * @return 发送的长度，注意是字节长度，采用utf-8编码
     * @throws Exception 异常
     */
    int send(String message) throws Exception;

    /**
     * 一对一
     *
     * @param message 消息
     * @return 发送的字节长度
     * @throws Exception 异常
     */
    int send(byte[] message) throws Exception;

    /**
     * 保存客户端附加信息
     *
     * @param info 附加信息
     */
    void setCode(String info);

    /**
     * 获取客户端附加信息
     *
     * @return 附加信息
     */
    String getCode();

    /**
     * 设置客户端连接对象
     *
     * @param client 连接对象
     */
    void setConnector(Object client);

    /**
     * 关闭
     */
    void close();

    /**
     * 获取最后一次通讯时间
     *
     * @return long表示的时间戳
     */
    long getLastMsgTime();

    /**
     * 刷新最后通讯时间
     */
    void updateLastMsgTime();
}
